/**
 * IPage«CourseVO»
 *
 * 课程id
 */
export interface TableResponse {
  /**
   * 分类
   */
  categories: CourseLabelInfoVO[]
  createTime: string
  /**
   * 描述
   */
  description: string
  /**
   * 收藏状态
   */
  favorite: boolean
  id: number
  /**
   * 分级
   */
  levels: CourseLabelInfoVO
  /**
   * 课程名称
   */
  name: string
  /**
   * 预览图
   */
  previewUrl: string
  updateTime: string
  status: number
}

/**
 * 分类
 *
 * CourseLabelInfoVO
 *
 * 分级
 */
export interface CourseLabelInfoVO {
  /**
   * 课程id
   */
  courseId?: number | null
  /**
   * 主键id
   */
  id: string
  /**
   * 分类id
   */
  labelId?: number | null
  /**
   * 分类名称
   */
  labelName?: null | string
  /**
   * 1:分类，2：级别
   */
  labelType?: number | null
}
// 表格数据请求
export interface TableReq {
  /**
   * 分类id
   */
  categoryId?: null | number
  /**
   * 排序字段 多个,隔开  1,2,3
   */
  columns?: string
  /**
   * 级别id
   */
  levelId?: null | number
  /**
   * 页面条数
   */
  limit?: number
  /**
   * 课程名称
   */
  name?: string
  /**
   * 页码
   */
  offset?: number
  /**
   * 排序方式 多个,隔开  1,2,3
   */
  order?: string
  /**
   * 状态：0:保存中1:保存成功 2:保存失败
   */
  status?: number | null
}

export interface FormState {
  /**
   * 附件文件集合
   */
  attachments: FileListType[]
  /**
   * 分类id集合
   */
  categories: number[]
  /**
   * 课程描述
   */
  description?: any
  /**
   * 文档路径集合地址集合
   */
  docUrls: FileListType[]
  /**
   * 级别id集合
   */
  levels: number[]
  /**
   * 课程名称
   */
  name: string
  /**
   * 课程预览图地址
   */
  previewUrl: string
  previewFileUrl?: string
  /**
   * 视频路径集合地址集合
   */
  videoUrls: FileListType[]
  checkoutList: string[]
  id?: string
}
export interface LabelIdType {
  /**
   * 分类id
   */
  labelId: string | number
}
export interface FileListType {
  /**
   * 文件名称
   */
  fileName: string
  /**
   * 课程文件id
   */
  id?: number
  /**
   * 文件地址
   */
  url: string
  status: string
  name: string
  size?: number
  videoDuration: string
}
/**
 * @param 课程列表查询
 * */
export interface ClassListType {
  /**
   * 分类
   */
  categories: CourseLabelInfoVO[]
  /**
   * 创建时间
   */
  createTime?: null | string
  /**
   * 课程描述
   */
  description?: null | string
  /**
   * 课程id
   */
  id: string
  /**
   * 级别
   */
  levels: CourseLabelInfoVO[]
  /**
   * 课程名称
   */
  name: string
  /**
   * 课程预览图地址
   */
  previewUrl: string
  /**
   * 更新时间
   */
  updateTime?: null | string
  // 状态
  status?: number
}

// 分类分级标签返回

/**
 * DictionaryVO
 */
export interface DictionaryVOResponse {
  /**
   * 主动创建时间
   */
  createTime?: string
  /**
   * 主键id
   */
  id?: number
  /**
   * 存储值，例如：1、2、3...
   */
  k?: number
  /**
   * 父id，例如：二级联动
   */
  pid?: number
  /**
   * 备注
   */
  remark?: string
  /**
   * 排序值
   */
  sort?: number
  /**
   * 字典类型，例如：个性标签、服务类型...
   */
  type?: string
  /**
   * 被动更新时间
   */
  updateTime?: string
  /**
   * 显示值，例如：创建中、完成...
   */
  v?: string
  [property: string]: any
}

/**
 * @param 课程详情查询
 * */
export interface ClassInfoResponse {
  /**
   * 附件文件
   */
  attachments?: CourseFileVO[] | null
  /**
   * 分类
   */
  categories: CourseLabelInfoVO[]
  /**
   * 创建时间
   */
  createTime?: null | string
  /**
   * 课程描述
   */
  description?: null | string
  /**
   * 文档路径集合地址
   */
  docUrls?: CourseFileVO[] | null
  /**
   * 课程id
   */
  id: number
  /**
   * 级别
   */
  levels: CourseLabelInfoVO[]
  /**
   * 课程名称
   */
  name: string
  /**
   * 课程预览图地址
   */
  previewUrl: string
  /**
   * 0:保存中1:保存成功 2:保存失败
   */
  status: number
  /**
   * 更新时间
   */
  updateTime?: null | string
  /**
   * 视频路径集合地址
   */
  videoUrls?: CourseFileVO[] | null
  [property: string]: any
}

/**
 * CourseFileVO
 */
export interface CourseFileVO {
  /**
   * 课程id
   */
  courseId?: number | null
  /**
   * 文件名称
   */
  fileName?: null | string
  fileSize?: number | null
  /**
   * 课程文件id
   */
  id: number
  sort?: number | null
  /**
   * 1为视频：2为文档
   */
  type?: number | null
  /**
   * 文件地址
   */
  url?: null | string
  [property: string]: any
}
